#ifndef __GAME_PROTOCOL_H__
#define __GAME_PROTOCOL_H__

#ifdef __cplusplus
extern "C" {
#endif


#include "common/utils.h"
#include "network/networkevents.h"
#include "message/gamemessage.h"

enum GAME_CONTROLS {
	CTRL_UP = 0, CTRL_DOWN, CTRL_LEFT, CTRL_RIGHT,
	CTRL_UP_LEFT, CTRL_UP_RIGHT, CTRL_DOWN_LEFT, CTRL_DOWN_RIGHT,
	CTRL_DOWN_CLAW,CTRL_NONE
};


void gameproto_init(message_received_cb receive_cb);
void gameproto_uninit();
/** 发送消息
 * 		command				消息名称
 * 		data				消息内容
 * 		code				消息参数
 *     version            版本号
 * 	*注意：
 * 	 	1. 连接后台服务器时，发送"CONNECT"消息，data=服务器地址, code=服务器端口
 * 	 	   后台服务器连接成功后，通过回调返回"CONNECT_ACK"消息，data=连接状态说明，code=1表示连接成功，其它不成功
 * 	 	2. APP退出游戏页面时，发送""QUIT"消息，data=null, code=延时关闭的秒数
 */
void gameproto_sendmessage(const char* command, const char* data, int code, const char* version);
/** 发送控制指令
 * 		ctrl		控制指令
 * 		param		游戏流水号，当发送下爪时，填入流水号，其它控制指令则为null
 */
void gameproto_sendcontrol(int ctrl, const char* param);


#ifdef __cplusplus
}
#endif

#endif

